package juego;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

import principal.Constantes;

import niveles.Escenario;
import basicas.Posicion;

public class Base extends ObjetoDelJuego implements IDestruible {
	private int resistencia;
	
	public Base(Posicion posicionInicial) {
		super(posicionInicial);		
		resistencia = Constantes.RESISTENCIA_INICIAL_BASE;		
	}
	
	public Base(Node n) {
		super(n);
		resistencia = (int) Float.parseFloat(n.getChildNodes().item(3).getTextContent());
	}

	public void vivir() {

	}
	
	public int recibirDanio(int cantidad) {
		resistencia = resistencia - cantidad;
		if (resistencia <= 0) {
			explotar();
		}
		return 0;
	}

	public int getResistencia() {
		return resistencia;
	}

	public int explotar() {		
		morir();
		getNivel().agregarObjetoVivo(new Explosion(getPosicion()));
		return getPuntos();
	}
	
	public void setNivel(Escenario nivel) {
		this.nivel = nivel;
	}

	public int getPuntos() {		
		return 0;
	}
	
	public Element getElemento(Document doc) {		
		Element nuevoNodo;
		Element nodoHijo;
		
		nuevoNodo = super.getElemento(doc);
		
		nodoHijo = doc.createElement("resistencia");
		nuevoNodo.appendChild(nodoHijo);
		nodoHijo.setTextContent(String.valueOf(resistencia));		
						
		return nuevoNodo;
	}
	
	public void morir() {
		super.morir();
		getNivel().gameOver();
	} 
}
